package com.hwadee.ems.service;

import com.baomidou.mybatisplus.extension.service.IService;

import com.hwadee.ems.domain.po.User;

import jakarta.servlet.http.HttpServletRequest;

import com.hwadee.ems.domain.dto.Result;
import com.hwadee.ems.domain.dto.UserDTO;
import com.hwadee.ems.domain.dto.LoginFormDTO;

/**
 * <p>
 * 用户 服务类
 * </p>
 *
 * @author EnosElinsa
 * @since 2024/06/21
 */
public interface IUserService extends IService<User> {

    /**
     * 用户登录
     * @param loginForm 登录表单
     * @return 返回用户信息（包含 token 登录凭证，有效期为30分钟）
     */
    Result<UserDTO> login(LoginFormDTO loginForm);

    /**
     * 用户注销
     * @param request 请求对象
     * @return 
     */
    Result<Void> logout(HttpServletRequest request);

}
